package com.bms.client.pojo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.*;
import java.io.Serializable;
import java.util.Date;

/**
 * 合作计划管理(HeZuoJiHuaGuanLi)实体类
 *
 * @author makejava
 * @since 2021-03-16 09:39:56
 * @version 1.0
 */
@ApiModel(value = "HeZuoJiHuaGuanLiVo",description = "合作计划管理Vo")
public class HeZuoJiHuaGuanLiGenXing implements Serializable {
    private static final long serialVersionUID = 6284003791485286713L;
    @ApiModelProperty(name = "id",notes = "${column.comment}",dataType = "Integer",required = true)
    @Min(value = 1, message = "id 大于1")
    @NotNull(message = "id 不能为空")
    private Integer id;
    /**
    * 合作计划名称
    */
	@ApiModelProperty(name = "heZuoJiHuaMingZi",notes = "合作计划名称",dataType = "String",required = true)
    @NotBlank(message = "heZuoJiHuaMingZi 合作计划名字不能为空")
    @Size(min = 2, max = 11, message = "heZuoJiHuaMingZi 合作计划名字必须在1~11位之间")
    private String heZuoJiHuaMingZi;
    /**
    * 科研人员id
    */
	@ApiModelProperty(name = "genJinRen",notes = "科研人员id",dataType = "Integer",required = true)
    @Min(value = 1, message = "genJinRenid  跟进人id大于1")
    @NotNull(message = "genJinRenid  跟进人id不能为空")
    private Integer genJinRen;
    /**
    * 开始时间
    */
	@ApiModelProperty(name = "kaiShiShiJian",notes = "开始时间",dataType = "Date",required = true)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    // 下面是服务器响应返回的内容，如果没有格式化转换，那么返回的内容是长毫秒数，接收mysql数据库中的数据也需要设置东八区+8时
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date kaiShiShiJian;
    /**
    * 计划内容
    */
	@ApiModelProperty(name = "jiHuaNeiRong",notes = "计划内容",dataType = "String",required = true)
    @NotBlank(message = "jiHuaNeiRong 计划内容不能为空")
    @Size(min = 2, max = 25, message = "jiHuaNeiRong 计划内容必须在2~25位之间")
    private String jiHuaNeiRong;
    /**
    * 地点
    */
    @NotBlank(message = "diDian 点不能为空")
    @Size(min = 2, max = 30, message = "diDian 地点必须在2~30位之间")
	@ApiModelProperty(name = "diDian",notes = "地点",dataType = "String",required = true)
    private String diDian;
    /**
    * 计划目的
    */
	@ApiModelProperty(name = "jiHuaMuDe",notes = "计划目的",dataType = "String",required = true)
    @NotBlank(message = "jiHuaNeiRong 计划目的不能为空")
    @Size(min = 2, max = 25, message = "jiHuaNeiRong 计划目的必须在2~25位之间")
    private String jiHuaMuDe;
    /**
    * 跟进中，已完成
    */
	@ApiModelProperty(name = "zhuangTai",notes = "跟进中，已完成",dataType = "String",required = true)
    @NotBlank
    @Pattern(regexp = "跟进中|已完成",message = "zhuangTai 状态需要满足格式 跟进中，已完成\"")
    private String zhuangTai;
        
    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }
        
    public String getHeZuoJiHuaMingZi() {
        return heZuoJiHuaMingZi;
    }

    public void setHeZuoJiHuaMingZi(String heZuoJiHuaMingZi) {
        this.heZuoJiHuaMingZi = heZuoJiHuaMingZi;
    }
        
    public Integer getGenJinRen() {
        return genJinRen;
    }

    public void setGenJinRen(Integer genJinRen) {
        this.genJinRen = genJinRen;
    }
        
    public Date getKaiShiShiJian() {
        return kaiShiShiJian;
    }

    public void setKaiShiShiJian(Date kaiShiShiJian) {
        this.kaiShiShiJian = kaiShiShiJian;
    }

    public String getJiHuaNeiRong() {
        return jiHuaNeiRong;
    }

    public void setJiHuaNeiRong(String jiHuaNeiRong) {
        this.jiHuaNeiRong = jiHuaNeiRong;
    }
        
    public String getDiDian() {
        return diDian;
    }

    public void setDiDian(String diDian) {
        this.diDian = diDian;
    }
        
    public String getJiHuaMuDe() {
        return jiHuaMuDe;
    }

    public void setJiHuaMuDe(String jiHuaMuDe) {
        this.jiHuaMuDe = jiHuaMuDe;
    }
        
    public String getZhuangTai() {
        return zhuangTai;
    }

    public void setZhuangTai(String zhuangTai) {
        this.zhuangTai = zhuangTai;
    }
}